#pragma once

#include "ToolkitsPro.h"

#include <memory>

namespace DBX
{
    class DBXDevice;
    class TKSPRODLLEXPORT DBXDeviceWidget
    {
    public:
        virtual void updateDeviceFromUi() = 0;

    protected:
        explicit DBXDeviceWidget(const std::shared_ptr<DBXDevice> &device) :
            m_device(device)
        {}

        std::shared_ptr<DBXDevice> device() const { return m_device; }

    private:
        std::shared_ptr<DBXDevice> m_device;
    };
} // namespace DBX
